/*
 * @Author: jiangyg email@jiangyg.com
 * @Date: 2022-11-08 20:59:19
 * @LastEditors: jiangyg email@jiangyg.com
 * @LastEditTime: 2022-12-10 20:53:09
 * @FilePath: /frontend/mall-frontend/src/store/index.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import { createStore } from "vuex";

const store = createStore({
  // 定义状态共享的数据
  state: {
    /************** 商城相关的共享状态 **************/
    memberInfo: undefined,
    /************** 后台管理相关的共享状态 **************/
    // 窗口高度
    documentClientHeight: 0,
    // 打开tab集合
    mainTabs: [],
    // 导航栏折叠状态
    collapse: false,
    // 面包屑
    breadcrumb: [],
  },
  // 定义修改状态的方法
  mutations: {
    /************** 商城相关的共享状态 **************/
    memberInfo(state, val) {
      state.memberInfo = val;
    },
    /************** 后台管理相关的共享状态 **************/
    documentClientHeight(state, val) {
      state.documentClientHeight = val;
    },
    mainTabs(state, val) {
      state.mainTabs = val;
    },
    collapse(state, val) {
      state.collapse = val;
    },
    breadcrumb(state, val) {
      state.breadcrumb = val;
    },
  },
  // get 方法
  getters: {
    /************** 商城相关的共享状态 **************/
    memberInfo(state) {
      return state.memberInfo;
    },
    memberLoginStatus(state) {
      return state.memberInfo !== undefined;
    },
    /************** 后台管理相关的共享状态 **************/
    documentClientHeight(state) {
      return state.documentClientHeight;
    },
    mainTabs(state) {
      return state.mainTabs;
    },
    collapse(state) {
      return state.collapse;
    },
    breadcrumb(state) {
      return state.breadcrumb;
    },
  },
});

export default store;
